package com.ys.base_packaging;

import java.math.BigInteger;

/**
 * 描述: TODO
 *
 * @author CodeYang
 * @version 2020/12/21 10:55
 */
public class 基本数据类型转包装类型01 {

    public static void main(String[] args) {
        /*基 - >  包
        * 两大类型
        *方式一: 使用构造方法 两种参数 一种是对应的基本数据类型 一种是字符串
        * */
        // 1 使用基本数据类型
        Integer integer1 = new Integer(12);
        //  2使用str
        Integer integer2 = new Integer("12");
        /*
        *方式二: 使用 valueof( String s) 或者 valueof( 基本数据类型 s)
        * */
        Double aDouble1 = Double.valueOf(3.4);
        Double aDouble2 = Double.valueOf("3.4");

        /*
        * 注意:
        *   1:Character(Str) ,没有这个 不能转换为 Character 类型
        *       只有:public Character(char value) 转为 char
        *   2:Boolean(String v) 字符串抓换时,不区分大小写,只有true 会 返回true 其他 返回false
        *   3: 数值包装类型 形参为(str),必须为数值型,否则抛出NumberFormatException
        * 如: new Integer("12"); 如果时 new Integer("12abc");--->错误
         * */


        /*
        * 包 - > 基
        * 方式一:针对数值型包装类
        * 不同数值类型之间可以相互转换
        * 包装类.xxxValue
        * */
        int num  = integer1.intValue();
        double num2 = integer2.doubleValue();

        /*
        * 方式二:
        *  针对 :Boolean 与 Character 不能直接转换.
        *  针对 Boolean 对象 只能转为 boolean 因为它只有booleanVaule() 方法
        *  针对 Character 对象 只能转为 char 因为它只有charVaule() 方法
        * */

        boolean b1 = new Boolean("true").booleanValue(); // true

        char ch1 = new Character('a').charValue(); // false



    }
}
